﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

using System.Windows.Forms;
using System.Drawing;

namespace RecursosHumanos
{
    public class Imagem
    {
        public static void CarregaImagem(byte[] imagem, PictureBox controle)
        {
            FileStream fs = null;                                  // Escreve o BLOB para o arquivo (*.bmp).
            BinaryWriter bw = null;                                // Define um Streams para o objeto
            string fileTMP = Path.GetTempPath() + DateTime.Now.ToString().Replace("/", "").Replace(":", "") + ".jpg";

            try
            {                 
                fs = new FileStream(fileTMP, FileMode.OpenOrCreate, FileAccess.Write);
                bw = new BinaryWriter(fs);
                bw.Write(imagem);
                bw.Flush();
                bw.Close();
                fs.Close();
                controle.Image = new Bitmap(fileTMP);
                try
                {
                    File.Delete(fileTMP);
                }
                catch { }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Problemas ao carregar a imagem do filme.", "Atenção", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        public static byte[] CarregaImagemDoArquivo(string Arquivo)
        {
            byte[] imagemBytes = null;
            FileStream fs = null;
            BinaryReader br = null;
            try
            {
                fs = new FileStream(Arquivo, FileMode.Open, FileAccess.Read);
                br = new BinaryReader(fs);
                imagemBytes = br.ReadBytes(1200000);
            }
            catch
            {
                throw;
            }
            finally
            {
                if(br != null)
                    br.Dispose(); //Close
                if(fs != null)
                    fs.Dispose(); //Close
            }
            return imagemBytes;
        }
    }
}
